Method and apparatus for a search-enabled remote control device

ABSTRACT

A search-enabled remote control device to facilitate viewers&#39; ability to search through programming and/or content options and view results. In one embodiment, a viewer is able to use a traditional remote control interface to navigate through menus or selections and to display search results on screen. In another embodiment, a viewer&#39;s watching behavior and/or searching habits are tracked by the search-enabled remote control and used to develop a viewer profile, which may in turn be used to target advertisements, information and/or future programming options.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Patent ApplicationSer. No. 60/622,469 filed on Oct. 26, 2004.

FIELD OF THE INVENTION

The present invention relates in general to a method and apparatus for asearch-enabled remote control, and more particularly to providing asearch-enabled remote control device which facilities viewers' abilityto search through programming and/or other content options and viewresults.

BACKGROUND

Current interactive devices for controlling broadcast programming arelimited to changing the content based upon explicit choices and do notprovide any true personalization of the viewing experience based uponthe behavior and interests of the individual viewers. Thus, there is aneed for a universal device to increase personalization and real-timecustomization of the viewing experience.

One way to do this would be to tailor the viewing experience based on aviewer's habits and interests. However, heretofore there have been fewways in which a user has been able to personalize their televisionexperience. Aside from being able to select a list of favorite channelsor time-shift content, viewers are generally limited to viewing what isor has been broadcast to the general populous.

Current television remote controls are also not enabled to allowsignificant commercial transactions, especially those related to thecontent they are viewing. Most commercial activity enabled by currentremotes is limited to transactions related to viewing content likepurchasing pay-per-view (PPV) or upgrading subscription options. Thereis therefore also a need for a device for controlling multimedia viewingthat facilitates commercial transactions related to real-timeprogramming.

Another problem with the current television viewing experience is theever increasing amount of available content. The amount of availablecontent has increased substantially even over the last few years. Untilnow most viewers have literally hundreds of viewing choices at any onetime. As the amount of content increases and additional programmingoptions become available, it becomes even more difficult for viewers tolocate and select not only particular viewing content of interest, butalso multimedia information relating to the television content (e.g.,related commercial) items.

Accordingly, there is a need in the art to facilitate and thecustomization of television viewing experience by personalizing, notonly the ability to interactively search through viewing contentchoices, but also to provide the ability to search all online multimediaincluding facilities for conducting real-time transactions related tothe programming being viewed.

BRIEF SUMMARY OF THE INVENTION

Disclosed and claimed herein are methods and apparatus for asearch-enabled remote control device. In one embodiment, a methodincludes receiving one or more search criteria from a user input device,transmitting the search criteria to a remote server, and receiving aplurality of search results based on the search criteria. The methodfurther includes presenting a plurality of search results on a displayportion of the user input device.

Other aspects, features, and techniques of the invention will beapparent to one skilled in the relevant art in view of the followingdetailed description of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1B depict embodiments of simplified system diagrams of one ormore aspects of the invention;

FIG. 2 depicts one embodiment of a viewer input device capable ofcarrying out one or more aspects of the invention;

FIG. 3 is a flow diagram of how a viewer profile may be setup and/ormaintained, according to one embodiment;

FIG. 4 depicts another embodiment of a system-level diagram of variousaspects of the invention, showing the interconnectivity relatingthereto;

FIG. 5 is a flow diagram of how a viewer may perform content searchesand the monitoring thereof, according to one embodiment;

FIG. 6 is a flow diagram of one embodiment for serving personalizedcontent to a television viewer;

FIG. 7 is a flow diagram of one embodiment for facilitating personalizedoffers through an interactive device; and

FIG. 8 is a flow diagram of one embodiment for prioritizing searchresults in accordance with the principles of the invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

One aspect of the invention is to provide a search-enabled remotecontrol device which facilities viewers' ability to search throughprogramming options and view results. In one embodiment, a viewer isable to use a traditional remote control interface (e.g., volume up,volume down, channel up, etc.) to navigate through menus or selectionsand to display search results on screen. In another embodiment, theremote control may include a keypad, thumb board or other input meansfor facilitating the search functionality. In yet another embodiment,the remote control may further include a display portion for displayingthe results of viewers' searches. In another embodiment, or in additionto one or more of the previous embodiments, the remote control is ableto communicate wirelessly with a back-end processing system via a remotenetwork.

In another embodiment, a user may be permitted to set preferences(either online or using the search-enabled remote) for how onlinecontent may be integrated with programming content, either on a displaydevice or on the search-enabled remote. This content mix may be dynamicin that it may be automatically optimized over time by refining it basedon user interaction with the results and programming.

Another aspect of the invention is to track viewer watching behaviorand/or searching habits. In one embodiment, the data obtained fromtracking viewer activities may then be used to develop a viewer profile,which may in turn be used to target advertisements, information and/orfuture programming options. For example, the use of television watchinghabits may be used to inform a variety of advertisement marketplaces,including additional distribution mediums/networks. In addition,appropriate commercial items may be targeted to individual user based onsuch television viewing and/or searching habits.

Another aspect of the invention is to mix or prioritize search resultsbased on one or more criteria. In one embodiment, search results may bemixed and/or prioritized based on user profile data, preferredadvertiser/merchant rankings or a combination thereof. In anotherembodiment, search results may presented to a viewer on a display devicesimultaneously along with broadcast and/or streaming content. In anotherembodiment, the search results may be “pushed” to a client-side deviceand presented along with related broadcast content. Alternatively, thesearch results may be based on one or more user-provided searchcriteria.

Another aspect of the invention is to present time-based offers toviewers of broadcast content. In one embodiment, time-based offers maybe presented to a user on the same display device being used to displaybroadcast programming. While in one embodiment, time-based offers may becommercial offers inviting the viewer to purchase goods or services at aspecial rate for a limited time, it should of course be understood thatthe offers may be of a non-commercial nature as well. Similarly, whilethe offers may be time-based (i.e., valid for a limited time only), inanother embodiment the offers may not have an expiration. By way ofproviding a non-limiting example, such offers may invite a user topurchase goods or services at a discounted rate if a purchase is madewithin a specified time. Such offers may also be in form of receivingadditional free goods and/or services if a purchase is made within thespecified time.

In another embodiment, the time-based offers may be customized for aparticular user based on their habits and/or interests. In this fashion,the previously mentioned viewer profiling may be used to select fromamong a plurality of potential offers. By tracking viewer watchingbehavior and/or searching habits, particular time-based offers may bepresented to the viewer to maximize the likelihood of the user acceptingthe offer. In one embodiment, the data obtained from tracking the user'sacceptance and/or rejection of presented offers may also be used toupdate the user's viewer profile, which may in turn be used to bettertarget advertisements, information and/or future programming options.

In still another embodiment, time-based offers may be customized basedon programming content being viewed. By way of example, broadcastcontent schedule information may be obtained from television programmingguide data. Such broadcast content information may then be analyzed andassigned one or more keywords for matching to potential time-basedoffers. In addition, keyword assignment may also be done for portions ofa program or particular scenes of a program.

User responses to presented time-based offers may in turn be used toupdate viewer profile data and/or merchant conversion profiles. In oneembodiment, a merchant's conversion profile is based on the ratio of thenumber of transactions consummated to the number of visits to themerchant's online marketplace needed to generate such transactions. Amerchant can use their conversion profile to evaluate the performance ofthe offer, and modify their offers dynamically. For example, if aparticular offer is not being accepted by an adequate number of users, amerchant can increase the incentives being offered to attract moreusers.

Another aspect of the invention is to use a set-top box arrangement toprovide the searching and profiling capabilities described above. In oneembodiment, processing logic in a set-top box and/or remote control cantrack user behavior during television watching. This information canthen be communicated to a viewer profile database, which may bemaintained locally or remotely. This database can then be used toprovide customized content, advertising and/or information to the viewerto enhance the viewing experience. In another embodiment, real-timecommercial offers may be targeted to individual users based on theviewer profile information.

When implemented in software, the elements of the invention areessentially the code segments to perform the necessary tasks. Theprogram or code segments can be stored in a processor readable medium ortransmitted by a computer data signal embodied in a carrier wave over atransmission medium or communication link. The “processor readablemedium” may include any medium that can store or transfer information.Examples of the processor readable medium include an electronic circuit,a semiconductor memory device, a ROM, a flash memory or othernon-volatile memory, a floppy diskette, a CD-ROM, an optical disk, ahard disk, a fiber optic medium, a radio frequency (RF) link, etc. Thecomputer data signal may include any signal that can propagate over atransmission medium such as electronic network channels, optical fibers,air, electromagnetic, RF links, etc. The code segments may be downloadedvia computer networks such as the Internet, Intranet, etc.

Referring now to FIG. 1, system 100 includes client-side system 110which may be used to receive broadcast content 140 and/or non-broadcastcontent 130. In one embodiment, broadcast content 140 includestelevision programming which is broadcast as radio frequency signals byone or more content providers, as well as streaming multimedia content.In another embodiment, or in addition to one or more of the previousembodiments, non-broadcast content 130 is content and/or data which isprovided to the client-side system 110 over network 120. It should alsobe appreciated that the network 120 may be the Internet, or may also bea wide area network, a local area network or any other type ofconnection. It should also be appreciated that non-broadcastcontent/data 130 may include user preference data, multimedia contentand any other form of non-broadcast data.

As shown in the embodiment of FIG. 1A, client-side system 110 furtherincludes processing logic 150, display device 160 and user input device170. While in one embodiment processing logic 150 is a set-top box (STB)device, it should equally be appreciated that other connected deviceswith similar capabilities may be used to receive, decode and processboth non-broadcast content/data 130 and broadcast content 140. In theembodiment, the client-side system 130 may simultaneously present bothnon-broadcast content 130 and broadcast content 140 to a viewer.

In addition to receiving and processing both non-broadcast content 130and broadcast content 140, processing logic 150 may further provideinformation/data to and display device 160, as well as any number ofsystems connected to network 120, In another embodiment, processinglogic 150 provides information back to a back-end system 180 via network120. As will be discussed in more detail below, such information mayrelate to user viewing and/or content searching habits. In oneembodiment, display device is used to render image/video forpresentation to a viewer. While in one embodiment the display device 160is a television, it may similarly comprise other broadcast-content-baseddisplay devices.

It should also be appreciated that processing logic 150 may furtherinclude recording functionality, such as the functionality provided by adigital video recorder (DVR). User input 170 may optionally be used tocommunicate with processing logic 150 and/or display device 160 fordisplay control, channel selection, feature selection and the like. Inone embodiment, user input device 170 is a remote-control-type device,although it may also be any other input means, such as a keyboard, voicerecognition, touch screen, etc.

Back-end system 180 is shown as being in communication with client-sidesystem 110 via network 120, as well as non-broadcast content 130. Itshould be appreciated that non-broadcast content 130 may be storedlocally as part of back-end system 180, or alternatively may originatefrom a third-party location (e.g., third-party website). As will bedescribed below, viewer actions may be monitored and reported toback-end system 180. In one embodiment, back-end system 180 is used tostore one or more viewer databases which maintain individual viewerprofiles. These viewer profiles may then be used to tailor specificcontent, of either the broadcast or non-broadcast variety, to particularviewers. In another embodiment, viewer profiles may be used to improvethe effectiveness of direct marketed.

While non-broadcast content/data 130 may be provided by other processinglogic devices coupled to network 120 according to the viewer profileinformation collected and maintained on back-end system 180, it may alsocome from a third-party online source (music database, movie trailerdatabase, etc.). Moreover, non-broadcast content/data 130 may beprovided to or from a back-end server 180 that is also coupled tonetwork 120. In one embodiment, non-broadcast content 130 may includethe data collected by processing logic 150 relating to viewer habits andother activities.

FIG. 1B depicts another embodiment of system 100 with a more detailedview of one embodiment of back-end system 180. In this embodiment,broadcast content 140 is provided to display device 160 by a programmingdistribution center 145 (e.g., network television station, etc.). Inaddition, non-broadcast content 130 may be relayed to the client-sidesystem 110 by wireless tower/relay 155, and wireless tower/relay 155 maycommunicate wirelessly with the user input device 170. Alternatively,tower/relay 155 may communicate directly with display device 160, whichin one embodiment comprises processing logic 150.

Continuing to refer to FIG. 1B, in one embodiment non-broadcast contentrelates to personalized advertising/commercial content, and back-endsystem 180 includes personalization server 195. User database 165 may beused to store user profile data derived explicitly and/or implicitlyfrom user viewing and/or searching activities. In another embodiment,user database 165 may be part of client-side system 110.

Personalization server 195 may be used to track user activities, updateuser database 165, and access available advertising and related contentfrom database 175. In one embodiment, merchants provide targetedadvertisements from database 175 to personalization server 195 based oninformation in user database 165. For example, advertisements may bestreamed to display device 160 in real-time and may include limited timeoffers. For example, a user may be given the opportunity to receive adiscount on a targeted commercial item if purchased within the next 10,20, 30 etc. minutes. As will be described in more detail below withreference to FIG. 6, available merchant offers may be selected based ona keyword analysis of the current programming content.

Continuing to refer to FIG. 1B, back-end system 180 further includesonline marketplace 185 which may be used to connect advertisers withcustomers. In one embodiment, online marketplace 185 may comprises oneor more ad servers, as detailed in United States patent havingapplication Ser. No. 10/303,167, entitled “Online Media Exchange,” whichis hereby fully incorporated by reference. As detailed therein,advertisers may monitor user activities and create customizedlimited-time offers. Content and inventory database 190 may be used topopulate the online marketplace 185 with available commercial items, aswell as advertisements and offers for such items.

Irrespective of how advertising and merchant offers are established(e.g., using the online marketplace 185), personalization server 195 mayalso analyze programming content, using keywords for example, todetermine which advertisement/offers to present to the viewer and when.As will be described in more detail below with reference to FIGS. 6 & 7,advertisements and/or offers may be directly associated with particularprogramming based on matching one or more keywords which are descriptiveof such programming.

One aspect of the invention is to provide a search-enabled remotecontrol device which may be used to navigate through menus or selectionoptions. In one embodiment, a traditional remote control interface(e.g., volume up, volume down, channel up, etc.) may be used to performcontent searches and navigate search results. In another embodiment,search results may be displayed on a screen portion of thesearch-enabled remote control device. FIG. 2 depicts one embodiment of asearch-enabled remote control consistent with the principles of theinvention. In the embodiment of FIG. 2, remote control 200 includespower 205 and mute 210 buttons, volume 230 and channel 235 selectionbuttons and keypad 220. It should further be appreciated that remotecontrol 200 may have numerous other configurations and still beconsistent with the principles of the invention. For example, remotecontrol may include a thumb board for entering text. Remote control 200may further be adapted to include voice recognition and/or writtencharacter recognition.

In one embodiment, viewers may use one or more of the keypad 220, volumebutton 230, channel selection button 235 to enter content searchparameters that are to be processed by processing logic 150, which inone embodiment is a set-top box. While in one embodiment, the searchparameters may relate to available (or soon to be available) broadcastcontent 140, viewers may similarly search for available non-broadcastcontent 130 and/or information. As mentioned above, one aspect of theinvention is to track viewers actions and to develop a viewer profilebased on such actions, including the types of searches performed and/orprogramming viewed. Additional types of viewer actions which may be usedto update the viewer's profile may also include switching to or awayfrom particular types of programs, and switching to or away fromparticular types of commercials. Moreover, in the case of a DVR-enabledset-top box, the types of programming recorded may also be used toupdate the viewer's profile. In one embodiment, viewer profiles may thenbe used to tailor content and other information for a particular viewer.Such content may include advertisements, additional programming optionsand/or purchase options.

Continuing to refer to FIG. 2, remote 200 is also depicted with optionaldisplay screen 240. This enables search results to be presented to theviewer on the remote 200 itself. Alternatively, the search results maybe displayed on display device 160. In another embodiment, displayscreen may be a touch screen which enables the viewer to navigate one ormore selection menus relating to available broadcast content 140,available non-broadcast content 130 and/or search options and results.

As with described in more detail below with reference to FIG. 8, anotheraspect of remote 200 is to prioritize search results based on one ormore factors. In one embodiment, search results may be tailored to aviewer based on the viewer's profile, which in one embodiment isreflective of the viewer's interests. In another embodiment, searchresults may be prioritized based on a merchant/advertiser ranking. Whilemerchants/advertisers may be ranked according to numerous criteria, inone embodiment the ranking process is based on the bidding processdescribed in U.S. Pat. No. 6,269,361, entitled “System and Method forInfluencing a Position on a Search Result List Generated by a ComputerNetwork Search Engine,” which is hereby fully incorporated by reference.In addition to the bidding process described therein,advertisers/merchants may be ranked (and hence search resultsprioritized), based on pre-purchased advertising preference, as well asa combination of user profiling and merchant/advertiser ranking.

FIG. 3 depicts a simplified flow diagram for how a viewer's profile maybe established and developed. In particular, in order to develop aviewer profile to be able to tailor future content and/or information, aviewer must be identified and their actions associated with a particularprofile. In one embodiment, viewer profiles are maintained in one ormore databases which form part of back-end system 180. In anotherembodiment, viewer profiles are maintained on the client-side, such asin client-side system 110.

In the embodiment of FIG. 3, the user profile is maintained on theserver-side (e.g., in a back-end system 180 database). Process 300begins at block 310 when a client device (e.g., set-top box, processinglogic 150, etc.) is detected by back-end system 180. In one embodiment,the client device may be identified based on a device ID, such as anEthernet Media Access Control (MAC) address. Additionally, the device IDmay be a smart card address, wireless network address, CPU identifier,or simply an arbitrarily assigned value. The use of certificates,encryption, hashing, secure sockets, and so on may also be used toprevent tampering with the device identification. It should of course beunderstood that there are numerous methods for identifying a clientdevice that are consistent with the principles of the invention.

Once the client device has been detected, a viewer profile associatedwith the particular client device may then be accessed at block 320. Inone embodiment, a lookup table is used to access a database entryassociated with the detected device ID. While in one embodiment, thisdatabase entry is maintained by back-end system 180, it may similarly bemaintained by some other system coupled to network 120.

Block 330 involves a determination of whether or not there is anexisting profile for the viewer in question. If this is a first-timeviewer, a viewer profile may not yet be available. In that case, process300 would continue to block 340 where the profile may be established. Inone embodiment, a viewer may use the user input device 170, which in oneembodiment is remote control 200, to enter various viewer-specific data.Alternatively, the viewer may establish a profile online by connectingto the back-end system 180 over the Internet. Similarly, the initialviewer profile may simply be automatically generated and later updatedwith information pertaining to the viewer's searching and/or viewingactivities.

Whether or not a new profile has to be set up, once a viewer profile hasbeen established and associated with the client device, process 300 maythen continue to block 350. In one embodiment, viewer actions from thispoint forward may be tracked. Such viewer actions may include searchesperformed using search-enabled remote control 200, broadcast contentviewed, non-broadcast content requested, content selected for recording,channel changing actions, advertisements viewed, commercial itemspurchased, etc. In fact, all viewer actions may similarly be trackedand/or recorded. For example, suppose a viewer tunes to Program A andthereafter increases the volume. Moreover, suppose then that the viewerdecreases the volume (or presses mute) as soon as Commercial A airs. Allof this information may be pertinent to determining the interests of theviewer and a means of developing a more accurate global viewer profile.As discussed above, a viewer's behavior while watching television may betracked and a television viewing profile developed there from. Inaddition, the online behavior of this same viewer may also be trackedand used to supplement his/her television viewing profile.

As viewer actions are tracked, process 300 further includes updating theviewer's profile at block 360. In one embodiment, this may includetransmitting the relevant data to back-end system 180 via network 120.In one embodiment, back-end system 180 may then update a profiledatabase. The process of tracking user activities (block 350) andcorrespondingly updating the viewer's profile (block 360) may thencontinue until a determination is made that the client device is loggedout (block 370). In one embodiment, a client device is only logged outupon powering down. It is to be appreciated that given the identity ofthe user (e.g., from the client device ID), the preferences and viewerprofile as they apply to a viewer can now be directly applied to thissame viewer on any other device that can be identified with the user. Inthis fashion, a viewer may transfer and/or maintain their viewer profileacross devices and mediums, such as for example with Internet searchingor online content surfing (e.g., Yahoo! Properties).

FIG. 4 depicts one embodiment of system-level diagram showing theinterconnectivity of various aspects of the invention. In thisembodiment, back-end system 180 communicates with client-side system vianetwork 120, which in one embodiment is the Internet. With back-endsystem 180 coupled to network 120, a user can access/request variousdata/services (e.g., via modem 430). In this embodiment, the client-sidesystem 110 comprises a bedroom portion, a home office portion and aliving room portion. In one embodiment, a wireless router 440 may beused to interconnect the various client-side systems.

Continuing to refer to FIG. 4, client-side system is shown as furtherincluding an IP-enabled STB 450, which in one embodiment performs thefunctions of previously-described processing logic 150. In oneembodiment, STB 450 may communicate with back-end system 180 (which inFIG. 4 is comprised of storage 410 and server 410) via modem 430.Alternatively, STB 450 may communicate with the back-end system 180 viasatellite link 460. In another embodiment, search-enabled remote control200 may be used by a viewer to interact with STB 450 and to submitsearch queries as previously described. Alternatively, the remotecontrol 200 may communicate wirelessly with the back-end system 180directly. It should of course be appreciated that the particular devicesdepicted in FIG. 4 that comprise the client-side system 130 areillustrative only, and numerous other configuration are equallyconsistent with the principles of the invention.

As discussed above, one aspect of the invention is to track vieweractivities and to update a viewer profile based on such recordedactivities. To that end, FIG. 5 depicts one embodiment of a process 500for using viewer search activities to maintain a viewer profile. Theviewer profile may then be used to target advertisements, informationand/or future programming options.

Process 500 begins with the system receiving a set of search criteriawhich has been entered by the viewer. In one embodiment, search criteriaare entered using a search-enabled remote control, such as remotecontrol 200. Regardless of the manner in which the search criteria areentered, process 500 may then process the search at block 520. In oneembodiment, the search may be processed by a local set-top box (e.g.,processing logic 150), or may be transmitted to the back-end system 180for processing.

Once the search criteria have been processed, the results may bedisplayed at block 530. While in one embodiment, the results may bedisplayed on display device 160, the results may similarly be displayedon display screen 240 of remote control 200, as discussed above. As willbe described in more detail below with reference to FIG. 8, searchresults may be prioritized and displayed according to a predeterminedorder. In one embodiment, search results are prioritized based on abidding-type process, such as the process described in U.S. Pat. No.6,269,361, which was previously incorporated by reference. In addition,advertisers/merchants may purchase ranking preference, possibly usingtiered pricing arrangements. Finally, search results may similarly beprioritized based on the current user profile, or a combination of userprofiling and merchant/advertiser ranking.

Regardless of how the search results are reported, the view profile maybe updated at block 540, which in one embodiment involves transmittingthe relevant search criteria/results data to back-end system 180 vianetwork 120. Where only the search criteria and not the results are tobe incorporated into the viewer profile, the profile may be similarlyupdated prior to displaying the results (block 530) and/or processingthe search (block 520).

Continuing to refer to FIG. 5, once the search has been processed andthe results displayed, process 500 may continue to decision block 550where a determination is made as to whether the viewer has made aselection from the search results. If not, process 500 may continue totrack the viewer's activities at block 560, as described above withreference to FIG. 3. If, on the other hand, a viewer does make aselection from among the search results, then this information may alsobe used to update the viewer's profile (block 570).

A determination may then be made as to whether the requestedcontent/information is available. While in one embodiment, content maybe made available by one or more providers of broadcast content 140, inanother embodiment the requested content/information may be provided asnon-broadcast content 130, or from any other source coupled to network120. Once the available content/information has been retrieved, it maythen be provided to the viewer at block 590. In one embodiment, therequest may be filled by presenting content and/or information ondisplay device 160, on display screen 240 or by having the client-sidesystem 110 store it locally.

Referring now to FIG. 6, depicted is one embodiment of a process 600 forserving personalized content (e.g., advertisements, offers, futureprogramming options, online content, etc.) to a user. Process 600 beginsat block 605 with the gathering of the broadcast content schedule, whichin one embodiment may be done using personalization server 195. In anyevent, the broadcast content schedule information may be obtained fromtelevision programming guide data. At block 610, the broadcast contentcollected may be analyzed and assigned one or more keywords. Inaddition, keyword assignment may also be done for portions of a programor particular scenes of a program. For example, the keyword automobilemay be associated with a chase scene of an action movie. In oneembodiment, this keyword and/or temporal information may be stored indatabase 175.

Once the content analysis and keyword assignment tasks are completed,process 600 continues to block 615 where available content (e.g.,merchant advertisements and/or offers, available online content, etc.)are matched to the assigned keywords. It should be appreciated there arenumerous criteria that may be used to establish where or not there is akeyword match for a given advertisement and/or offer. For example, inone embodiment a match may only be found where a program has beenassigned X keywords which match to a given merchant offer. If a programonly contains X-1 matching keywords, the merchant offer will not bepresented to the viewer.

Process 600 continues to block 620 where actual matching content may bedelivered to the viewer, which in one embodiment comprises deliveringthe matching content to the client-side system 110 via network 120. Atblock 625, the matching advertisements/offers may then be shown ondisplay device 160 of client-side system 110 as non-broadcast content130, while at the same time broadcast content 140 is being displayed ondisplay device 160. At this point, the viewer is free to navigatethrough the available matching content using, for example, remotecontrol 200. In another embodiment, matching content may be displayed ona display portion of a user input device, such as remote control 200.

Continuing to refer to FIG. 6, process 600 continues to block 630 whereoffers may be updated and sequenced as the broadcast programming beingviewed changes. In one embodiment, this is accomplished by continuallypolling the programming keywords and checking for matching content. Asthe programming changes, so too may the matching content. While in oneembodiment, new content is displayed simultaneously with old content, inanother embodiment new content may replace old content as theprogramming changes. Alternatively, viewers may be provided with amatching content submenu to access older matching content which is nolonger being displayed and which have not yet expired.

FIG. 7 depicts one embodiment of a process 700 for facilitatingpersonalized offers through an interactive device, such as client-sidesystem 110. In the embodiment of FIG. 7, process 700 begins with theanalysis of one or both of a user's profile and programming contentviewed. While in one embodiment the user's profile may be stored on userdatabase 165, in another embodiment the user profile may be maintainedlocally, such as by client-side system 110. In the event thatprogramming content is also to be analyzed in conjunction with the userprofile data, such analysis may be done by keyword matching, aspreviously described with reference to FIG. 6.

At block 720, any identified personalized offers may be presented to theuser, which in one embodiment means the offer is displayed on a displaydevice (e.g., display device 160). If a user sees an offer of interest,they may opt to receive more information by selecting the offer using,for example, remote control 200. Rather than desiring to receive moreinformation, a user may simply want to accept a personalized offer andconsummate a transaction with a particular merchant. If a user hasindicated that they would like to receive, or that they would like topurchase the offered item, process 700 would then continue to block 730where the user may be optionally connected to the merchant's onlinemarketplace 185, if available. In one embodiment, this includesconnecting the user to a website of the merchant via network 120.

It should further be appreciated that the personalized offers may betime-based offers which, if not acted on, expire at a predeterminedpoint in time. While in one embodiment, time-based offers may becommercial offers inviting the viewer to purchase goods or services at aspecial rate for a limited time, it should of course be understood thatthe offers may be of a non-commercial nature as well. By way ofproviding a non-limiting example, such offers may invite a user topurchase goods or services at a discounted rate if a purchase is madewithin a specified time. Such offers may also be in form of receivingadditional free goods and/or services if a purchase is made within thespecified time.

Whether or not the user actually purchases anything from the merchant,process 700 continues to block 740 where the user's profile may beupdated. If the user does make a purchase, then the user profile can beupdated with the transaction details. If the user fails to consummate atransaction, this information can also be used to update the user'sprofile. In this manner, future offers may be further tailored to a userbased, not only on their viewing/searching habits, but also on theirhistory of acting on available offers. As previously mentioned, userprofile information may be maintained remotely, such as by user database165, or on the client-side.

Continuing to refer to FIG. 7, the merchant's conversion profile mayalso be updated at block 750. In one embodiment, a merchant's conversionprofile is based on the ratio of the number of transactions consummatedto the number of visits to the merchant's online marketplace needed togenerate such transactions. The merchant can use their conversionprofile to evaluate the performance of the offer. As described in thepreviously incorporated co-pending United States patent applicationhaving application Ser. No. 10/303,167, merchants can monitor and modifytheir offers dynamically. If their offer is not being accepted by anadequate number of users, a merchant can increase the incentives beingoffered to attract more users.

Process 700 continues to block 760 where the next set of offers may bedisplayed to the user. As previously described with reference to FIG. 6,offers may be sequenced as programming content changes. In addition, newoffers may be displayed simultaneously with old offers, or they mayreplace older offers as the programming changes.

Referring now to FIG. 8, depicted is one embodiment of a process 800 forprioritizing search results based on one or more factors. As previouslymentioned, one aspect of the invention is to tailor search resultspresented to a viewer based on one or more criteria, such as viewerprofile data, merchant/advertiser rankings, sponsored results, or anycombination thereof. While merchants/advertisers may be ranked accordingto numerous criteria, in one embodiment the ranking process is based onthe bidding process described in the previously incorporated U.S. Pat.No. 6,269,361. In addition to the bidding process described therein,advertisers/merchants may be ranked (and hence search resultsprioritized), based on pre-purchased advertising preference.

Process 800 begins with the parsing of the search criteria at block 810.In one embodiment, the parsing is done by a back-end system (e.g.,back-end system 180) coupled to a client-side system (e.g., system 110)via a network (e.g., network 120). In another embodiment, the searchcriteria may be parsed locally by the client-side system. The searchcriteria to be parsed may be user-provided via a client-side device or auser-input device (e.g., search-enabled remote 200) in communicationwith a client-side device. In another embodiment, the search criteriamay be provided online to a back-end system.

Rather than the search criteria being provided by a user directly, thesearch parameters may be based on user profile data, such as the viewerprofile described above with reference to FIG. 3 and FIG. 5. Forexample, automatic searches may be performed (e.g., using a back-endsystem such as system 180), and the results periodically presented tothe user on a client-side device. As the viewer profile is updated, sotoo would the search parameters, resulting in dynamic search resultsbeing continuously provided to the user. This approach for determiningthe search parameters may be used in a configuration where searchresults are automatically and/or periodically “pushed” to theclient-side device. In another embodiment, a combination of viewerprofile data and user-provided search criteria may be parsed together toproduce a search result listing which is both responsive to the userrequest, as well as tailored for the specific user.

In addition, the search results may include relevant broadcast content,as well as non-broadcast content. For example, parsing a user search mayinvolve identifying Web results (e.g., Web sites, downloadable content,etc.), as well as broadcast results (e.g., upcoming television shows,movies, etc.). In this fashion, a listing of all available multimediacontent may be compiled into one convenient compilation.

Once the search results have been obtained, process 800 continues toblock 820 where a determination is made as to whether the search resultsare to be mixed and/or prioritized. If so, then process 800 willcontinue to block 830 where the search results may be re-ordered basedon one or more predetermined criteria. In one embodiment, search resultsmay be mixed and/or prioritized based on user profile data, preferredadvertiser/merchant rankings or a combination thereof. While thesoftware needed to perform the mixing and/or prioritization process maybe executing on a back-end system and/or server-side system, it shouldequally be appreciated that the search results may be streamed to aclient-side system (e.g., client-side system 110), and then prioritizedlocally. In either case, a global user profile may be used to tailor thesearch results list such that results more in line with known userpreferences and/or interests appear first. In addition, sponsoredresults may also be moved up the results list.

Once the order of the search results has been determined, process 800will continue to block 840 where the results are to be presented to theuser. At this point, the results may be presented on a display device160 or any client-side device capable of visually rendering the results.In another embodiment, results may be presented on a user input device,such as remote control 200. In addition, the search results may bepresented simultaneously along side broadcast and/or other non-broadcastcontent. In this fashion, a user may freely watch broadcast programmingcontent while viewing search results which may have been “pushed” to theuser display device or initiated by the user. It should be appreciatedthat numerous on-screen configurations are possible for displaying thesearch results simultaneously with other content, broadcast orotherwise.

At this point, the user may scroll through and select from among thesearch results using, for example, user input device 170 or remote 200.Any such user selections may then be processed at block 850. In oneembodiment, user selections may be processed by navigating the user to aWeb site, in the case of a Web-based search result selection. Similarly,a tuner for a client-side device may be tuned to a broadcast programmingsource selected from the search results. Additionally, content-basedsearch results may be downloaded and/or streamed to one or moreclient-side devices upon selection from the search results list. Thefunctionality of responding to user selections may be provided by aclient-side set-top box device. Any such user selections may optionallybe used to update a profile maintained for the user at block 860. Thisprocess may parallel the process described above with reference to FIG.5.

While certain exemplary embodiments have been described and shown in theaccompanying drawings, it is to be understood that such embodiments aremerely illustrative of and not restrictive on the broad invention, andthat this invention not be limited to the specific constructions andarrangements shown and described, since various other modifications mayoccur to those ordinarily skilled in the art. Trademarks and copyrightsreferred to herein are the property of their respective owners.

1. A search-enabled remote control device comprising: a plurality ofinput controls; a display portion; a processor coupled to said pluralityof input controls and said display portion; and a memory coupled to saidprocessor, said memory to include instructions sequences to cause theprocessor to, receive one or more search criteria entered using saidplurality of input controls of the search-enabled remote control device,transmit said one or more search criteria from the search-enabled remotecontrol device to a remote server via a set top box coupled to a displaydevice, receive a plurality of viewer requests entered using saidplurality of input controls, transmit said plurality of viewer requeststo the set top box, wherein said plurality of viewer requests are usedto update a viewer profile, said viewer profile including a plurality oftracked viewer actions tracking a user's viewing habits by monitoringcontent being displayed on a display device coupled to the set top boxand transmitting the plurality of tracked viewer actions to the remoteserver via the set top box, receive a plurality of search results on thesearch-enabled remote control device based on at least one of said oneor more search criteria and said viewer profile from the remote servervia the set top box, the search-enabled remote control device receivingthe plurality of search results according to the content being displayedon the display device, present the plurality of search results on saiddisplay portion of the search-enabled remote control device, andreceive, independent of any subsequent viewer-issued requests, one ormore updated search results from the remote server, the one or moreupdated search results corresponding to a change of the content beingdisplayed on the display device.
 2. The search-enabled remote controldevice of claim 1, wherein said set top box is to cause said displaydevice to display broadcast content received from a broadcast sourcesimultaneously with non-broadcast content.
 3. The search-enabled remotecontrol device of claim 1, wherein said set top box is associated withsaid viewer profile using a unique identification code.
 4. Thesearch-enabled remote control device of claim 1, wherein said remoteserver maintains said viewer profile in a global viewer database, andwherein said viewer profile is usable to customize content that is to beprovided to said set top box.
 5. The search-enabled remote controldevice of claim 4, wherein said customized content includes at least oneof broadcast programming, online content, advertisements, and commercialoffers.
 6. The search-enabled remote control device of claim 1, whereinsaid plurality of viewer requests includes one or more of a set ofsearch criteria, broadcast content viewed, non-broadcast contentrequested, content selected for recording, channel changing activities,and volume adjustments.
 7. The search-enabled remote control device ofclaim 1, wherein said display device is to, receive user preferencesfrom said remote server; display broadcast content received from abroadcast source and non-broadcast content in accordance with said userpreferences.
 8. The search-enabled remote control device of claim 7,wherein said broadcast content and non-broadcast content are displayedon one of said display portion and said display device.
 9. A methodcomprising: on a search-enabled remote control device, receiving one ormore search criteria; transmitting said one or more search criteria fromthe search-enabled remote control device to a remote server; receiving aplurality of viewer requests entered using said search-enabled remotecontrol device; transmitting said plurality of viewer requests to a settop box, wherein said plurality of viewer requests are used to update aviewer profile, said viewer profile including a plurality of trackedviewer actions tracking a user's viewing habits by monitoring contentbeing displayed on a display device coupled to the set top box andtransmitting the plurality of tracked viewer actions to the remoteserver via the set top box; receiving a plurality of search results onthe search-enabled remote control device based on at least one of saidone or more search criteria and said viewer profile from the remoteserver via the set top box, the search-enabled remote control devicereceiving the plurality of search results according to the content beingdisplayed on the display device; presenting the plurality of searchresults on said display portion of the search-enabled remote controldevice; and receiving, independent of any subsequent viewer-issuedrequests, one or more updated search results from the remote server, theone or more updated search results corresponding to a change of thecontent being displayed on the display device.
 10. The method of claim9, wherein said set top box is associated with said viewer profile usinga unique identification code.
 11. The method of claim 10, wherein saidremote server maintains said viewer profile in a global viewer database,and wherein said viewer profile is usable to customize content that isto be provided to said set top box.
 12. The method of claim 11, whereinsaid customized content includes at least one of broadcast programming,online content, advertisements, and commercial offers.
 13. The method ofclaim 9, wherein said plurality of viewer requests includes one or moreof a set of search criteria, broadcast content viewed, non-broadcastcontent requested, content selected for recording, channel changingactivities, and volume adjustments.
 14. The method of claim 9, whereinsaid display device is to, receive user preferences from said remoteserver; display broadcast content received from a broadcast source andnon-broadcast content in accordance with said user preferences.
 15. Themethod of claim 14, wherein said broadcast content and non-broadcastcontent are displayed on one of said display portion and the displaydevice coupled to said set top box.
 16. The method of claim 9, whereintransmitting said one or more search criteria comprises transmittingsaid one or more search criteria to a remote server via the set top boxcoupled to said display device, and wherein said set top box is to causebroadcast content received from a broadcast source to be displayedsimultaneously with non-broadcast content.
 17. A non-transitory computerusable medium having computer program code embodied therein to displayinformation, the computer program code including: computer readableprogram code to receive one or more search criteria from asearch-enabled remote control device; computer readable program code totransmit said one or more search criteria from the search-enabled remotecontrol device to a remote server; computer readable program code toreceive a plurality of viewer requests entered using said search-enabledremote control device; computer readable program code to transmit saidplurality of viewer requests to a set top box, wherein said plurality ofviewer requests are used to update a viewer profile, said viewer profileincluding a plurality of tracked viewer actions tracking a user'sviewing habits by monitoring content being displayed on a display devicecoupled to the set top box and transmitting the plurality of trackedviewer actions to the remote server via the set top box; computerreadable program code to receive a plurality of search results on thesearch-enabled remote control device based on at least one of said oneor more search criteria and said viewer profile from the remote servervia the set top box, the search-enabled remote control device receivingthe plurality of search results according to the content being displayedon the display device; computer readable program code to present theplurality of search results on a display portion of said search enabledremote control device; and computer readable program code to receive,independent of any subsequent viewer-issued requests, one or moreupdated search results from the remote server, the one or more updatedsearch results corresponding to a change of the content being displayedon the display device.
 18. The computer usable medium of claim 17,wherein said set top box is associated with said viewer profile using aunique identification code.
 19. The computer usable medium of claim 18,wherein said remote server maintains said viewer profile in a globalviewer database, and wherein said viewer profile is usable to customizecontent that is to be provided to said set top box.
 20. The computerusable medium of claim 19, wherein said customized content includes atleast one of broadcast programming, online content, advertisements, andcommercial offers.
 21. The computer usable medium of claim 17, whereinsaid plurality of viewer requests includes one or more of a set ofsearch criteria, broadcast content viewed, non-broadcast contentrequested, content selected for recording, channel changing activities,and volume adjustments.
 22. The computer usable medium of claim 17,wherein said display device is to, receive user preferences from saidremote server, and display broadcast content received from a broadcastsource and non-broadcast content in accordance with said userpreferences.
 23. The computer usable medium of claim 22, wherein saidbroadcast content and non-broadcast content are displayed on one of saiddisplay portion and the display device coupled to said set top box. 24.The computer usable medium of claim 17, wherein said computer readableprogram code to transmit said one or more search criteria comprisescomputer readable program code to transmit said one or more searchcriteria to a remote server via the set top box coupled to said displaydevice, and wherein said set top box is to cause broadcast contentreceived from a broadcast source to be displayed simultaneously withnon-broadcast content.